<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script type="text/javascript">
        //例子1
        function Foo()
        {

        }
        var f1=new Foo();
        console.log(f1 instanceof Foo);//true
        console.log(f1,Foo);

        console.log(f1 instanceof Object);//true
        console.log(f1,Object);

        console.log(f1.__proto__ instanceof Foo);//false
        //实例对象的f1的原型链 === 构造函数Foo的显式原型
        console.log(f1.__proto__ === Foo.prototype);//true
    </script>
</head>
<body>
    <!--
        1.instanceof是如何判断的
        A是实例对象，B是构造函数
        表达式： A instanceof B
        如果B函数的显式原型对象在A对象的原型链上，返回true，否则返回false
        原型对象尽头是Object.prototype
        2.Function是通过new自己产生的实例
    -->
</body>
</html>